module.exports = function (grunt) {
  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON("package.json"),
    uglify: {
      main: {
        src: "js/gungnir/<%= pkg.name %>.js",
        dest: "js/gungnir/<%= pkg.name %>.min.js",
      },
    },
    banner:
      "/*!\n" +
      " * <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n" +
      ' * Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
      " */\n",
    usebanner: {
      dist: {
        options: {
          position: "top",
          banner: "<%= banner %>",
        },
        files: {
          src: ["js/gungnir/<%= pkg.name %>.min.js"],
        },
      },
    },
    watch: {
      scripts: {
        files: ["js/gungnir/<%= pkg.name %>.js"],
        tasks: ["uglify"],
        options: {
          spawn: false,
        },
      },
    },
  });

  // Load the plugins.
  grunt.loadNpmTasks("grunt-contrib-uglify");
  grunt.loadNpmTasks("grunt-banner");
  grunt.loadNpmTasks("grunt-contrib-watch");

  // Default task(s).
  grunt.registerTask("default", ["uglify", "usebanner"]);
};
